package top.z.work.module.system.api.logger.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * SystemApiErrorLog DTO
 *
 * @author zaoangod
 * @since 2024-07-25
 */
@Data
@Accessors(chain = true)
public class SystemLoggerErrorDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    // 用户主键
    private Long          userId;
    // 请求方法
    private String        requestMethod;
    // 访问地址
    private String        requestUrl;
    // 请求参数
    private String        requestParameter;
    // 请求IP
    private String        requestIp;
    // 浏览器 UA
    private String        userAgent;
    // 异常发生时间
    private LocalDateTime exceptionTime;
    // 异常名称
    private String        exceptionName;
    // 异常导致的消息
    private String        exceptionMessage;
    // 异常导致的根消息
    private String        exceptionRootCauseMessage;
    // 异常发生的类全名
    private String        exceptionClassName;
    // 异常发生的类文件
    private String        exceptionFileName;
    // 异常发生的方法名
    private String        exceptionMethodName;
    // 异常发生的方法所在行
    private Integer       exceptionLineNumber;

}
